package com.ruoyi.gift.mapper;



import com.ruoyi.gift.domain.RoadSign;
import com.ruoyi.gift.domain.dto.RoadSignQuery;
import com.ruoyi.gift.domain.vo.StatsResultVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface RoadSignMapper {

    List<RoadSign> test(RoadSignQuery query);
    /**
     * 新增路牌信息
     */
    int insert(RoadSign roadSign);

    /**
     * 根据ID查询路牌信息
     */
    RoadSign selectById(Long id);

    /**
     * 根据路牌编号查询
     */
    RoadSign selectBySignCode(String signCode);

    /**
     * 查询路牌列表
     */
    List<RoadSign> selectList(RoadSignQuery query);

    /**
     * 统计路牌数量
     */
    Integer count(RoadSignQuery query);

    /**
     * 更新路牌信息
     */
    int update(RoadSign roadSign);

    /**
     * 逻辑删除路牌
     */
    int deleteById(@Param("id") Long id);

    /**
     * 检查路牌编号是否存在
     */
    int checkSignCodeExists(@Param("signCode") String signCode, @Param("excludeId") Long excludeId);

    /**
     * 根据ID列表查询路牌
     */
    List<RoadSign> selectByIds(List<Long> ids);

    // RoadSignMapper.java 新增方法
    List<StatsResultVO> countByStreet();
    List<StatsResultVO> countByRoadName();
}